package com.lxmes.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 入库单对象 cc_ruku_info
 *
 * @author 张志煜
 * @date 2022-11-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CcRukuInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 公司名称 */
    //@Excel(name = "公司名称",type = Excel.Type.EXPORT)
    private String factoryName;

    /** 公司代码 */
   // @Excel(name = "公司代码",type = Excel.Type.EXPORT)
    private String factoryCode;
    /** 姓名 */
    @Excel(name = "姓名" ,type = Excel.Type.EXPORT)
    private String createBy;
    /** 库位编码 */
    @Excel(name = "库位编码")
    private String kuweiCode;
    /** 入库数量 */
    @Excel(name = "入库数量")
    private BigDecimal rukuNum;
    /** 入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rukuDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String rukuDateStart;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String rukuDateEnd;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;
    /** 物料名称(英文) */
    @Excel(name = "物料名称(英文)")
    private String itemNameEn;
    /** 物料编码 */
    @Excel(name = "物料编号")
    private String itemCode;
    /** 物料编码 */
    @Excel(name = "物料子编号")
    private String itemId;
    /** 规格型号 */
    @Excel(name = "规格型号")
    private String spec;

    /** 物料单位 */
    @Excel(name = "物料单位")
    private String unit;
    /** 批次 */
    @Excel(name = "批次")
    private String lot;

    /** 仓库编号 */
    @Excel(name = "仓库编号",type = Excel.Type.IMPORT)
    private String stockId;

    /** 仓库名称 */
    @Excel(name = "仓库名称",type = Excel.Type.IMPORT)
    private String stockName;

    /** 库区编码 */
    @Excel(name = "库区编码",type = Excel.Type.IMPORT)
    private String kuquCode;

    /** 库区名称 */
    @Excel(name = "库区名称",type = Excel.Type.IMPORT)
    private String kuquName;

    /** 物料类型id */
    @Excel(name = "物料类型编码",type = Excel.Type.IMPORT )
    private String classId;

    /** 物料类型 */
    @Excel(name = "物料类型",type = Excel.Type.EXPORT)
    private String className;

    /** 入库类型 */
    @Excel(name = "入库类型",type = Excel.Type.EXPORT)
    private Long rukuType;
    /** 入库单号 */
    @Excel(name = "入库单号",type = Excel.Type.EXPORT)
    private String danhao;

    /** 订单类型 */
   // @Excel(name = "订单类型",type = Excel.Type.IMPORT)
    private String orderType;

    /** 订单编号 */
    //@Excel(name = "订单编号")
    private String orderDanhao;

    /** 计划号 */
    //@Excel(name = "计划号",type = Excel.Type.EXPORT)
    private String planId;

    /** 合同编号 */
   // @Excel(name = "合同编号")
    private String contractCode;
    /** 客户代码 */
    //@Excel(name = "客户代码")
    private String clientCode;

    /** 客户名称 */
   // @Excel(name = "客户名称")
    private String clientName;

    /** 订单数量 */
   // @Excel(name = "订单数量")
    private BigDecimal orderNum;

    /** 包装数量 */
    //@Excel(name = "包装数量")
    private BigDecimal packingNum;

    /** 供应商 */
   // @Excel(name = "供应商编码" ,type = Excel.Type.EXPORT)
    private Long supplyId;

    /** 供应商名称 */
   // @Excel(name = "供应商名称",type = Excel.Type.EXPORT)
    private String supplyName;

    /** 价格 */
    private BigDecimal price;

    /** 总价 */
   // @Excel(name = "总价")
    private BigDecimal totalPrice;

    /** 单价 */
   // @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 托管标识 */
   // @Excel(name = "托管标识",type = Excel.Type.EXPORT)
    private String isTuoguan;

    /** 质量状态 */
   // @Excel(name = "质量状态")
    private String qualityState;

    /** 制造商编码 */
   // @Excel(name = "制造商编码",type = Excel.Type.EXPORT)
    private String makerCode;

    /** 制造商名称 */
   // @Excel(name = "制造商名称",type = Excel.Type.EXPORT)
    private String makerName;

    /** 尺寸 */
   // @Excel(name = "尺寸" ,type = Excel.Type.EXPORT)
    private BigDecimal size;

    /** 单重 */
   // @Excel(name = "单重" ,type = Excel.Type.EXPORT)
    private BigDecimal singleWeight;

    /** 总重 */
   // @Excel(name = "总重",type = Excel.Type.EXPORT)
    private BigDecimal totalWeight;

    /** 使用状态 */
   // @Excel(name = "使用状态",type = Excel.Type.EXPORT)
    private String useState;

    /** 颜色 */
    //@Excel(name = "颜色",type = Excel.Type.EXPORT)
    private String color;

    /** 花纹 */
   // @Excel(name = "花纹",type = Excel.Type.EXPORT)
    private String figure;

    /** 材质 */
   // @Excel(name = "材质",type = Excel.Type.EXPORT)
    private String caizhi;

    /** 条形码 */
    //@Excel(name = "条形码",type = Excel.Type.EXPORT)
    private String txm;

    /** 托盘码 */
   // @Excel(name = "托盘码",type = Excel.Type.EXPORT)
    private String tpm;
    /** 备注 */
    @Excel(name = "备注")
    private String remark;
    /** 状态(0 初始化 1.已入库) */
    private Long state;
    private String[] warehouse;
    //采购单ID
    private Long purId;
    //出库单Id
    private Long ckId;
    //计划数量
    private BigDecimal planNum;

    //接收入库信息
    private List<CcRukuInfo> infoList;
    //是否生成
    private String isSc;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private String startDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String endDate;

}
